package com.medical.project.system.domain;

import com.medical.framework.aspectj.lang.annotation.Excel;
import com.medical.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 家庭档案信息对象 t_family_archives
 * 
 * @author tale
 * @date 2020-06-20
 */
public class FamilyArchives extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 家庭编号 */
    private String familyCode;

    /** 区域编码 */
    @Excel(name = "区域编码")
    private String areaCode;

    /** 户主 */
    @Excel(name = "户主")
    private String houseHolder;

    /** 家庭人口数 */
    @Excel(name = "家庭人口数")
    private Integer familySize;

    /** 农业人口数 */
    @Excel(name = "农业人口数")
    private Integer agriculturalNum;

    /** 家庭住址 */
    @Excel(name = "家庭住址")
    private String address;

    /** 登记员 */
    @Excel(name = "登记员")
    private String registrar;

    /** 家庭成员*/
    @Excel(name = "家庭成员")
    private List<FamilyMember> familyMembers;


    /** 户属性（户口性质） */
    @Excel(name = "户属性", readConverterExp = "户=口性质")
    private String householdType;

    public List<FamilyMember> getFamilyMembers() {
        return familyMembers;
    }

    public void setFamilyMembers(List<FamilyMember> familyMembers) {
        this.familyMembers = familyMembers;
    }

    public void setFamilyCode(String familyCode)
    {
        this.familyCode = familyCode;
    }

    public String getFamilyCode() 
    {
        return familyCode;
    }
    public void setAreaCode(String areaCode) 
    {
        this.areaCode = areaCode;
    }

    public String getAreaCode() 
    {
        return areaCode;
    }
    public void setHouseHolder(String houseHolder) 
    {
        this.houseHolder = houseHolder;
    }

    public String getHouseHolder() 
    {
        return houseHolder;
    }
    public void setFamilySize(Integer familySize) 
    {
        this.familySize = familySize;
    }

    public Integer getFamilySize() 
    {
        return familySize;
    }
    public void setAgriculturalNum(Integer agriculturalNum) 
    {
        this.agriculturalNum = agriculturalNum;
    }

    public Integer getAgriculturalNum() 
    {
        return agriculturalNum;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setRegistrar(String registrar) 
    {
        this.registrar = registrar;
    }

    public String getRegistrar() 
    {
        return registrar;
    }
    public void setHouseholdType(String householdType) 
    {
        this.householdType = householdType;
    }

    public String getHouseholdType() 
    {
        return householdType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("familyCode", getFamilyCode())
            .append("areaCode", getAreaCode())
            .append("houseHolder", getHouseHolder())
            .append("familySize", getFamilySize())
            .append("agriculturalNum", getAgriculturalNum())
            .append("address", getAddress())
            .append("createTime", getCreateTime())
            .append("registrar", getRegistrar())
            .append("householdType", getHouseholdType())
            .append("familyMembers", getFamilyMembers().toString())
            .toString();
    }
}
